//package com.sl.utils.office.excel.xls;
//
//import com.sl.utils.date.DateUtils;
//import com.sl.utils.office.word.WordUtils;
//import org.apache.poi.hssf.usermodel.*;
//import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;
//import org.apache.poi.ss.usermodel.BorderStyle;
//import org.apache.poi.ss.usermodel.FillPatternType;
//
//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.net.URL;
//
///**
// * Demonstrates many features of the user API at once.  Used in the HOW-TO guide.
// * 具体参考 http://poi.apache.org/spreadsheet/examples.html#business-plan
// */
//public class BigExample {
//
//    public static void main(String[] args) throws IOException {
//        URL basePath = WordUtils.class.getClassLoader().getResource("");
//        String outPutPath = basePath.getPath() + "/temp/"+ DateUtils.getCurrentTime_yyyyMMddHHmmssSSS();
//
//        int rownum;
//
//        // create a new workbook
//        try (HSSFWorkbook wb = new HSSFWorkbook()) {
//            // create a new sheet
//            HSSFSheet s = wb.createSheet();
//            // declare a row object reference
//            HSSFRow r;
//            // declare a cell object reference
//            HSSFCell c;
//            // create 3 cell styles
//            HSSFCellStyle cs = wb.createCellStyle();
//            HSSFCellStyle cs2 = wb.createCellStyle();
//            HSSFCellStyle cs3 = wb.createCellStyle();
//            // create 2 fonts objects
//            HSSFFont f = wb.createFont();
//            HSSFFont f2 = wb.createFont();
//
//            //set font 1 to 12 point type
//            f.setFontHeightInPoints((short) 12);
//            //make it red
//            f.setColor(HSSFColorPredefined.RED.getIndex());
//            // make it bold
//            //arial is the default font
//            f.setBold(true);
//
//            //set font 2 to 10 point type
//            f2.setFontHeightInPoints((short) 10);
//            //make it the color at palette index 0xf (white)
//            f2.setColor(HSSFColorPredefined.WHITE.getIndex());
//            //make it bold
//            f2.setBold(true);
//
//            //set cell style
//            cs.setFont(f);
//            //set the cell format see HSSFDataFormat for a full list
//            cs.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
//
//            //set a thin border
//            cs2.setBorderBottom(BorderStyle.THIN);
//            //fill w fg fill color
//            cs2.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//            // set foreground fill to red
//            cs2.setFillForegroundColor(HSSFColorPredefined.RED.getIndex());
//
//            // set the font
//            cs2.setFont(f2);
//
//            // set the sheet name to HSSF Test
//            wb.setSheetName(0, "HSSF Test");
//            // create a sheet with 300 rows (0-299)
//            for (rownum = 0; rownum < 300; rownum++) {
//                // create a row
//                r = s.createRow(rownum);
//                // on every other row
//                if ((rownum % 2) == 0) {
//                    // make the row height bigger  (in twips - 1/20 of a point)
//                    r.setHeight((short) 0x249);
//                }
//
//                //r.setRowNum(( short ) rownum);
//                // create 50 cells (0-49) (the += 2 becomes apparent later
//                for (int cellnum = 0; cellnum < 50; cellnum += 2) {
//                    // create a numeric cell
//                    c = r.createCell(cellnum);
//                    // do some goofy math to demonstrate decimals
//                    c.setCellValue(rownum * 10000 + cellnum
//                            + (((double) rownum / 1000)
//                            + ((double) cellnum / 10000)));
//
//                    // on every other row
//                    if ((rownum % 2) == 0) {
//                        // set this cell to the first cell style we defined
//                        c.setCellStyle(cs);
//                    }
//
//                    // create a string cell (see why += 2 in the
//                    c = r.createCell(cellnum + 1);
//
//                    // set the cell's string value to "TEST"
//                    c.setCellValue("TEST");
//                    // make this column a bit wider
//                    s.setColumnWidth(cellnum + 1, (int) ((50 * 8) / ((double) 1 / 20)));
//
//                    // on every other row
//                    if ((rownum % 2) == 0) {
//                        // set this to the white on red cell style
//                        // we defined above
//                        c.setCellStyle(cs2);
//                    }
//
//                }
//            }
//
//            //draw a thick black border on the row at the bottom using BLANKS
//            // advance 2 rows
//            rownum++;
//            rownum++;
//
//            r = s.createRow(rownum);
//
//            // define the third style to be the default
//            // except with a thick black border at the bottom
//            cs3.setBorderBottom(BorderStyle.THICK);
//
//            //create 50 cells
//            for (int cellnum = 0; cellnum < 50; cellnum++) {
//                //create a blank type cell (no value)
//                c = r.createCell(cellnum);
//                // set it to the thick black border style
//                c.setCellStyle(cs3);
//            }
//
//            //end draw thick black border
//
//
//            // demonstrate adding/naming and deleting a sheet
//            // create a sheet, set its title then delete it
//            wb.createSheet();
//            wb.setSheetName(1, "DeletedSheet");
//            wb.removeSheetAt(1);
//            //end deleted sheet
//
//
//            File file = new File(outPutPath);
//            if(!file.exists()){
//                file.mkdirs();
//            }
//
//            String filePath = outPutPath+ File.separator+"workbook.xls";
//            // create a new file
//            try (FileOutputStream out = new FileOutputStream(filePath)) {
//                // write the workbook to the output stream
//                // close our file (don't blow out our file handles
//                wb.write(out);
//            }
//            if(new File(filePath).exists()){
//                System.out.println("文件生成成功！");
//            }
//        }
//    }
//}